1. Field of the Invention
The present invention relates to calculation methods for calculating a compensation value for compensating for a geometric error of a machine such as a multiaxis machine tool and a robot.
2. Description of the Related Art
Five-axis controlled machine tools (a five-axis machining center etc.), in which two rotational axes are added to a conventional three-axis machining center in order to achieve efficient machining or to machine a workpiece in a complex shape, are known as a type of machine. One factor that affects motion accuracy of the five-axis controlled machine tool and shape accuracy of the workpiece is a geometric error between the axes, such as parallelism between a rotational axis and a translational axis and displacement between the rotation centers of the rotational axes. It is very difficult to eliminate such a geometric error when manufacturing the five-axis controlled machine tools. Thus, as in Japanese Patent Application Publication No. 2004-272887 (JP 2004-272887 A), a method for controlling a five-axis controlled machine tool has been proposed in which the five-axis controlled machine tool is controlled in view of displacement between the centers of the rotational axes and a tilt error of the rotational axes, and the axes are driven while compensating for a command position of each axis so that the relative relation between a tool and a workpiece becomes the same as that in a machine having no error.
When calculating a compensation value in the control method of JP 2004-272887 A, an operation of drive axes forming a machine and a geometric error included therein are obtained by performing multiplication of 4-row by 4-column matrices. Five-axis controlled machine tools are classified into three types according to the axis configuration, namely a main spindle rotation type, a table rotation type, and a main spindle-table rotation type, and a compensation value for a geometric error is calculated by using different formulae for each type. In any type of five-axis controlled machine tool, multiplication of a 4-row by 4-column matrix and a 4-row by 1-column matrix as shown by the following expression 1 is performed to calculate a compensation value.
                                          [                                                                                a                    1                                                                                        a                    2                                                                                        a                    3                                                                                        a                    4                                                                                                                    b                    1                                                                                        b                    2                                                                                        b                    3                                                                                        b                    4                                                                                                                    c                    1                                                                                        c                    2                                                                                        c                    3                                                                                        c                    4                                                                                                                    d                    1                                                                                        d                    2                                                                                        d                    3                                                                                        d                    4                                                                        ]                    ⁡                      [                                                            h                                                                              i                                                                              j                                                                              k                                                      ]                          =                  [                                                                                                                a                      1                                        ·                    h                                    +                                                            a                      2                                        ·                    i                                    +                                                            a                      3                                        ·                    j                                    +                                                            a                      4                                        ·                    k                                                                                                                                                                  b                      1                                        ·                    h                                    +                                                            b                      2                                        ·                    i                                    +                                                            b                      3                                        ·                    j                                    +                                                            b                      4                                        ·                    k                                                                                                                                                                  c                      1                                        ·                    h                                    +                                                            c                      2                                        ·                    i                                    +                                                            c                      3                                        ·                    j                                    +                                                            c                      4                                        ·                    k                                                                                                                                                                  d                      1                                        ·                    h                                    +                                                            d                      2                                        ·                    i                                    +                                                            d                      3                                        ·                    j                                    +                                                            d                      4                                        ·                    k                                                                                ]                                    [                  Expression          ⁢                                          ⁢          1                ]            
However, the method for calculating a compensation value of a geometric error described in JP 2004-272887 A is not versatile because a compensation value is calculated by using different formulae according to the type of five-axis controlled machine tool. Moreover, the multiplication of the 4-row by 4-column matrix and the 4-row by 1-column matrix, which is performed in the method for calculating a compensation value of a geometric error described in JP 2004-272887 A, requires an enormous amount of calculation, namely 12 additions and 16 multiplications. Thus, the calculation method described in JP 2004-272887 A has very low efficiency and requires a central processing unit (CPU) having high processing performance.